Security News
GitHub Removes Malicious Pull Requests Targeting Open Source Repositories
GitHub removed 27 malicious pull requests attempting to inject harmful code across multiple open source repositories, in another round of low-effort attacks.
graphql-language-service-types
Advanced tools
Types for building GraphQL language services for IDEs
The graphql-language-service-types package provides TypeScript types for GraphQL language services. It is designed to support the development of tools and services that work with GraphQL, such as editors, IDEs, and other development tools. The package includes types for various GraphQL language constructs, diagnostics, and more.
GraphQL Language Constructs
This feature allows you to define GraphQL schemas using the provided types. The code sample demonstrates how to create a simple schema with a single query field.
import { GraphQLSchema, GraphQLObjectType, GraphQLString } from 'graphql-language-service-types';
const schema = new GraphQLSchema({
query: new GraphQLObjectType({
name: 'RootQueryType',
fields: {
hello: {
type: GraphQLString,
resolve() {
return 'Hello world!';
}
}
}
})
});
Diagnostics
This feature provides types for diagnostics, which can be used to report errors and warnings in GraphQL documents. The code sample shows how to create a diagnostic object for a syntax error.
import { Diagnostic, DiagnosticSeverity } from 'graphql-language-service-types';
const diagnostic: Diagnostic = {
range: {
start: { line: 0, character: 0 },
end: { line: 0, character: 5 }
},
message: 'Syntax error',
severity: DiagnosticSeverity.Error
};
Completion Items
This feature provides types for completion items, which can be used to offer code completion suggestions in GraphQL documents. The code sample demonstrates how to create a completion item for a query field.
import { CompletionItem, CompletionItemKind } from 'graphql-language-service-types';
const completionItem: CompletionItem = {
label: 'Query',
kind: CompletionItemKind.Field,
data: 'query'
};
The graphql package is the reference implementation of the GraphQL specification. It provides the core functionality for defining and executing GraphQL queries. While it does not specifically focus on language services, it includes many of the same types and utilities for working with GraphQL schemas and documents.
The graphql-tools package provides a set of utilities for building and manipulating GraphQL schemas. It includes features for schema stitching, mocking, and more. While it overlaps with some of the functionality of graphql-language-service-types, it is more focused on schema construction and manipulation rather than language services.
The graphql-language-service package provides a complete language server implementation for GraphQL. It includes features such as auto-completion, diagnostics, and more. It uses graphql-language-service-types for its type definitions, making it a more comprehensive solution for building GraphQL language services.
Typescript and Flow type definitions for the GraphQL Language Service and other parts of the language ecosystem.
FAQs
Types for building GraphQL language services for IDEs
The npm package graphql-language-service-types receives a total of 41,588 weekly downloads. As such, graphql-language-service-types popularity was classified as popular.
We found that graphql-language-service-types demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 13 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
GitHub removed 27 malicious pull requests attempting to inject harmful code across multiple open source repositories, in another round of low-effort attacks.
Security News
RubyGems.org has added a new "maintainer" role that allows for publishing new versions of gems. This new permission type is aimed at improving security for gem owners and the service overall.
Security News
Node.js will be enforcing stricter semver-major PR policies a month before major releases to enhance stability and ensure reliable release candidates.